<template>
  <!-- 引入Excel组件 -->
  <UploadExcel :on-success="upload" />
</template>

<script>
import { importEmployee } from '@/api/employees'
export default {
  data() {
    return {
      type: this.$route.params.type
    }
  },
  methods: {
    async upload(data) {
      console.log(data) // { header,results }
      // 为了可以更多页面使用该组件,加个type去判断
      if (this.type === 'user') {
        // 数据转换
        const newData = data.results.map(item => {
          return this.changeZh(item)
        })
        // console.log(newData)
        // 导入
        await importEmployee(newData)
        this.$message.success('导入成功')
        // 返回
        this.$router.back()
      }
    },
    changeZh(item) {
      const userRelations = {
        '入职日期': 'timeOfEntry',
        '手机号': 'mobile',
        '姓名': 'username',
        '转正日期': 'correctionTime',
        '工号': 'workNumber'
      }
      const userObj = {}
      for (const key in item) {
        // console.log(key)
        // console.log(userRelations[key])
        // console.log(item[key]）
        // 键 跟 值的转换
        userObj[userRelations[key]] = item[key]
        // 格式化时间
        if (userRelations[key] === 'timeOfEntry' || userRelations[key] === 'correctionTime') {
          userObj[userRelations[key]] = new Date(this.formatDate(item[key], '/'))
        }
      }
      return userObj
    },
    /*
    changeZh1(item) {
      const userRelations = {
        '入职日期': 'timeOfEntry',
        '手机号': 'mobile',
        '姓名': 'username',
        '转正日期': 'correctionTime',
        '工号': 'workNumber'
      }
      const userInfo = {}
      for (const key in item) {
        userInfo[userRelations[key]] = item[key]
      }
      console.log(userInfo)
      return userInfo
    },
    */
    // excel 专用
    formatDate(numb, format) {
      const time = new Date((numb - 1) * 24 * 3600000 + 1)
      time.setYear(time.getFullYear() - 70)
      const year = time.getFullYear() + ''
      const month = time.getMonth() + 1 + ''
      const date = time.getDate() - 1 + ''
      if (format && format.length === 1) {
        return year + format + month + format + date
      }
      //   padStart(2,'0')
      return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)
    }
  }
}
</script>

<style scoped>

</style>
